package rsa
{
	import com.hurlant.crypto.rsa.RSAKey;
	import com.hurlant.math.BigInteger;
	import com.hurlant.util.Hex;
	
	import flash.utils.ByteArray;
	/**
	 * Crée une clé de cryptage à partir des valeurs héxadécimales du modulus et de l'exponent
	 * @author razael
	 * */
	public class PublicRSAKey extends RSAKey
	{
		private var salt:String;
		
		public function PublicRSAKey(keyUtil:KeyUtil)
		{
			super(new BigInteger(keyUtil.modulus, 16),parseInt(keyUtil.exponent,16));
			salt = keyUtil.salt;
		}
		/**
		 * @param value Données à crypter.
		 * @return Données cryptées.
		 * */
		public function publicEncrypt(value:String):ByteArray{
			var src:ByteArray = Hex.toArray(Hex.fromString(value + salt));
			var dst:ByteArray = new ByteArray;
			encrypt(src,dst,src.length);
			return dst;
		}
	}
}